﻿Public Class ucCadastroRecurso
    Dim objBBL As New BLLRecurso
    Dim filtro, tam As Integer
    Public codigo As Integer
#Region "Atualização"
    Public Sub Atualiza()
        cbFiltro.SelectedIndex = 1
        dgRecurso.DataSource = objBBL.localizarTudo()
        tam = dgRecurso.RowCount.ToString()
        'lbContador.Text = dgRecurso.RowCount.ToString() & " Recursos Cadastrados."
        dgRecurso.Columns(0).HeaderText = "Código"
        dgRecurso.Columns(0).Width = 70
        dgRecurso.Columns(1).HeaderText = "Recurso"
        dgRecurso.Columns(1).Width = 200
        dgRecurso.Columns(2).HeaderText = "Patrimônio"
        dgRecurso.Columns(2).Width = 100
        dgRecurso.Columns(3).HeaderText = "Status"
        dgRecurso.Columns(3).Width = 100
        dgRecurso.Columns(4).HeaderText = "Motivo"
        dgRecurso.Columns(4).Width = 240
        dgRecurso.Columns(5).HeaderText = "Obs"
        dgRecurso.Columns(5).Width = 250
        dgRecurso.Columns(6).HeaderText = "Data Cadastro"
        dgRecurso.Columns(6).Width = 200
        dgRecurso.Columns(7).Visible = False
    End Sub
    Private Sub tsbVoltar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbVoltar.Click
        fMenu.TCPrincipal.SelectedIndex = 2
        fMenu.TCPrincipal_Click(sender, e)
    End Sub
    Private Sub tsbLocalizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbLocalizar.Click
        If pFiltro.Visible = True Then
            pFiltro.Visible = False
            tsbLocalizar.CheckState = 0
        Else
            pFiltro.Visible = True
            tsbLocalizar.CheckState = 1
            txtLocalizar.Text = ""
        End If
    End Sub

    Private Sub cbFiltro_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbFiltro.SelectedIndexChanged
        txtLocalizar.Text = ""
    End Sub
#End Region
#Region "validação"
    Private Sub cbFiltro_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cbFiltro.KeyPress
        e.Handled = True
    End Sub
#End Region

    Private Sub tsbNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbNovo.Click
        frmRecursos.tipo = "Novo"
        frmRecursos.ShowDialog()
    End Sub
    Private Sub ucCadastroRecurso_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Atualiza()
    End Sub



    Private Sub txtLocalizar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtLocalizar.TextChanged
        Dim texto As String = Nothing
        'Primeiro Percorre todo o datagrid
        For Each linha As DataGridViewRow In dgRecurso.Rows
            'depois percorro todas as colunas da linha
            For Each celula As DataGridViewCell In dgRecurso.Rows(linha.Index).Cells
                'seleciono qual coluna eu vou comparar
                If Trim(txtLocalizar.Text) <> "" Then
                    If celula.ColumnIndex = cbFiltro.SelectedIndex Then
                        'Gravo o Valor que eexiste Naquela Coluna
                        texto = celula.Value.ToString.ToLower
                        'Se o que esta na coluna contem algo com o que eu escrevi no TextBox
                        If texto.Contains(txtLocalizar.Text.ToLower) Then
                            'Entao seleciona a linha para mim
                            Me.dgRecurso.Rows(celula.RowIndex).Selected = True
                            'posiciona o scroll na posição que achar 
                            Me.dgRecurso.FirstDisplayedScrollingRowIndex = linha.Index
                        Else
                            'Else Desmarca a linha
                            Me.dgRecurso.Rows(celula.RowIndex).Selected = False
                        End If
                    End If
                Else
                    'Else campo estiver Vazio
                    'posiciona o scroll na posição que inicial ou seja na linha 0 
                    Me.dgRecurso.FirstDisplayedScrollingRowIndex = 0
                    Me.dgRecurso.Rows(celula.RowIndex).Selected = False
                End If
            Next
        Next
    End Sub



    Private Sub tsbAlterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbAlterar.Click
        Dim indice As Integer = -1
        Try
            For Each linha As DataGridViewRow In dgRecurso.SelectedRows
                If (Not linha.Cells("rec_codigo") Is Nothing) Then
                    indice = linha.Index
                End If
            Next
            If (indice <> -1) Then
                codigo = dgRecurso.Rows(indice).Cells("rec_codigo").Value.ToString()
                frmRecursos.tipo = "Alterar"
                frmRecursos.Codigo = codigo
                frmRecursos.ShowDialog()
            Else
                MsgBox("Selecione o Recurso a ser realizado á Alteração", MsgBoxStyle.Information)
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try
    End Sub

    Private Sub tsbExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbExcluir.Click
        Try
            Dim cod As Integer = 0
            Dim nome As String
            Dim indice As Integer = -1
            'Percorre O DataGridView Verificando a Linha selecionada
            For Each linha As DataGridViewRow In dgRecurso.SelectedRows
                If (Not linha.Cells("rec_codigo") Is Nothing) Then
                    'Guarda A Posição Selecionada
                    indice = linha.Index
                End If
            Next
            If (indice <> -1) Then
                nome = dgRecurso.Rows(indice).Cells("rec_descricao").Value.ToString()
                If MessageBox.Show("Confirma Exclusão do Recurso " & nome & " ?", "", MessageBoxButtons.YesNo) = vbYes Then
                    cod = dgRecurso.Rows(indice).Cells("rec_codigo").Value.ToString()
                    objBBL.Excluir(cod)
                    MsgBox("Recurso " & nome & " Excluido com sucesso", MsgBoxStyle.OkOnly)
                    Atualiza()
                End If
            Else
                MsgBox("Selecione o Recurso a ser Excluido", MsgBoxStyle.Information)
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

 
End Class
